package com.ruoyi.home.jinrong.service.impl;

import java.util.List;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.home.jinrong.entity.response.ZbfExportTaskHeader;
import com.ruoyi.home.jinrong.mapper.ZbfExportTaskHeaderMapper;
import com.ruoyi.home.jinrong.service.IZbfExportTaskHeaderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 【请填写功能名称】Service业务层处理
 * 
 * @author ruoyi
 * @date 2021-08-03
 */
@Service
public class ZbfExportTaskHeaderServiceImpl implements IZbfExportTaskHeaderService
{
    @Autowired
    private ZbfExportTaskHeaderMapper zbfExportTaskHeaderMapper;

    /**
     * 查询【根据id查询任务头头表】
     * 
     * @param id 【请填写功能名称】ID
     * @return 【指定id的数据】
     */
    @Override
    public ZbfExportTaskHeader selectZbfExportTaskHeaderById(Long id)
    {
        return zbfExportTaskHeaderMapper.selectZbfExportTaskHeaderById(id);
    }

    /**
     * 查询【查询任务头表】列表
     * 
     * @param zbfExportTaskHeader 【根据实体信息条件查询】
     * @return 【任务头表】集合
     */
    @Override
    public List<ZbfExportTaskHeader> selectZbfExportTaskHeaderList(ZbfExportTaskHeader zbfExportTaskHeader)
    {
        return zbfExportTaskHeaderMapper.selectZbfExportTaskHeaderList(zbfExportTaskHeader);
    }

    /**
     * 新增【请填写功能名称】
     * 
     * @param zbfExportTaskHeader 【请填写功能名称】
     * @return 结果
     */
    @Override
    public int insertZbfExportTaskHeader(ZbfExportTaskHeader zbfExportTaskHeader)
    {
        zbfExportTaskHeader.setCreateTime(DateUtils.getNowDate());
        return zbfExportTaskHeaderMapper.insertZbfExportTaskHeader(zbfExportTaskHeader);
    }

    /**
     * 修改【请填写功能名称】
     * 
     * @param zbfExportTaskHeader 【请填写功能名称】
     * @return 结果
     */
    @Override
    public int updateZbfExportTaskHeader(ZbfExportTaskHeader zbfExportTaskHeader)
    {
        return zbfExportTaskHeaderMapper.updateZbfExportTaskHeader(zbfExportTaskHeader);
    }

    /**
     * 修改【根据id版本号修改完成个数】
     *
     * @param zbfExportTaskHeader 【根据id版本号修改完成个数】
     * @return 结果
     */
    @Override
    public int editVersion(ZbfExportTaskHeader zbfExportTaskHeader)
    {

        int i = zbfExportTaskHeaderMapper.editVersion(zbfExportTaskHeader);
        if (i != 1){
            //修改失败，重试三次
            for (int j = 0; j < 3; j++) {
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                i = zbfExportTaskHeaderMapper.editVersion(zbfExportTaskHeader);
                if (i==1){
                    return i;
                }
            }
        }
        return i;
    }

    /**
     * 批量删除【请填写功能名称】
     * 
     * @param ids 需要删除的【请填写功能名称】ID
     * @return 结果
     */
    @Override
    public int deleteZbfExportTaskHeaderByIds(Long[] ids)
    {
        return zbfExportTaskHeaderMapper.deleteZbfExportTaskHeaderByIds(ids);
    }

    /**
     * 删除【请填写功能名称】信息
     * 
     * @param id 【请填写功能名称】ID
     * @return 结果
     */
    @Override
    public int deleteZbfExportTaskHeaderById(Long id)
    {
        return zbfExportTaskHeaderMapper.deleteZbfExportTaskHeaderById(id);
    }
}
